package com.navi.loaddata.core.gpEntity;

import javax.persistence.*;
import java.sql.Timestamp;
import java.util.Objects;

@Entity
@Table(name = "mpp_layout_pnl_d", schema = "dm", catalog = "qmsprd")
@IdClass(MppLayoutPnlDPK.class)
public class MppLayoutPnlD {
    private String layoutId;
    private int panelNo;
    private String unqSeqId;
    private Timestamp etlTimestamp;
    private String etlEventNode;
    private String etlEventName;
    private String etlEvtSeqId;
    private Integer parPanelNo;
    private String layoutDsc;
    private String layoutCate;
    private Double xCoord;
    private Double yCoord;
    private Double xAxisLength;
    private Double yAxisLength;
    private Double xCoordCut;
    private Double yCoordCut;
    private Double xAxisLengthCut;
    private Double yAxisLengthCut;
    private Integer rotationAngle;
    private String panelId;
    private String mrrLoc;
    private String posDsc;
    private String evtCate;
    private String evtUser;
    private Timestamp evtTimestamp;
    private String evtNote;
    private String validFlg;

    @Id
    @Column(name = "layout_id")
    public String getLayoutId() {
        return layoutId;
    }

    public void setLayoutId(String layoutId) {
        this.layoutId = layoutId;
    }

    @Id
    @Column(name = "panel_no")
    public int getPanelNo() {
        return panelNo;
    }

    public void setPanelNo(int panelNo) {
        this.panelNo = panelNo;
    }

    @Basic
    @Column(name = "unq_seq_id")
    public String getUnqSeqId() {
        return unqSeqId;
    }

    public void setUnqSeqId(String unqSeqId) {
        this.unqSeqId = unqSeqId;
    }

    @Basic
    @Column(name = "etl_timestamp")
    public Timestamp getEtlTimestamp() {
        return etlTimestamp;
    }

    public void setEtlTimestamp(Timestamp etlTimestamp) {
        this.etlTimestamp = etlTimestamp;
    }

    @Basic
    @Column(name = "etl_event_node")
    public String getEtlEventNode() {
        return etlEventNode;
    }

    public void setEtlEventNode(String etlEventNode) {
        this.etlEventNode = etlEventNode;
    }

    @Basic
    @Column(name = "etl_event_name")
    public String getEtlEventName() {
        return etlEventName;
    }

    public void setEtlEventName(String etlEventName) {
        this.etlEventName = etlEventName;
    }

    @Basic
    @Column(name = "etl_evt_seq_id")
    public String getEtlEvtSeqId() {
        return etlEvtSeqId;
    }

    public void setEtlEvtSeqId(String etlEvtSeqId) {
        this.etlEvtSeqId = etlEvtSeqId;
    }

    @Basic
    @Column(name = "par_panel_no")
    public Integer getParPanelNo() {
        return parPanelNo;
    }

    public void setParPanelNo(Integer parPanelNo) {
        this.parPanelNo = parPanelNo;
    }

    @Basic
    @Column(name = "layout_dsc")
    public String getLayoutDsc() {
        return layoutDsc;
    }

    public void setLayoutDsc(String layoutDsc) {
        this.layoutDsc = layoutDsc;
    }

    @Basic
    @Column(name = "layout_cate")
    public String getLayoutCate() {
        return layoutCate;
    }

    public void setLayoutCate(String layoutCate) {
        this.layoutCate = layoutCate;
    }

    @Basic
    @Column(name = "x_coord")
    public Double getxCoord() {
        return xCoord;
    }

    public void setxCoord(Double xCoord) {
        this.xCoord = xCoord;
    }

    @Basic
    @Column(name = "y_coord")
    public Double getyCoord() {
        return yCoord;
    }

    public void setyCoord(Double yCoord) {
        this.yCoord = yCoord;
    }

    @Basic
    @Column(name = "x_axis_length")
    public Double getxAxisLength() {
        return xAxisLength;
    }

    public void setxAxisLength(Double xAxisLength) {
        this.xAxisLength = xAxisLength;
    }

    @Basic
    @Column(name = "y_axis_length")
    public Double getyAxisLength() {
        return yAxisLength;
    }

    public void setyAxisLength(Double yAxisLength) {
        this.yAxisLength = yAxisLength;
    }

    @Basic
    @Column(name = "x_coord_cut")
    public Double getxCoordCut() {
        return xCoordCut;
    }

    public void setxCoordCut(Double xCoordCut) {
        this.xCoordCut = xCoordCut;
    }

    @Basic
    @Column(name = "y_coord_cut")
    public Double getyCoordCut() {
        return yCoordCut;
    }

    public void setyCoordCut(Double yCoordCut) {
        this.yCoordCut = yCoordCut;
    }

    @Basic
    @Column(name = "x_axis_length_cut")
    public Double getxAxisLengthCut() {
        return xAxisLengthCut;
    }

    public void setxAxisLengthCut(Double xAxisLengthCut) {
        this.xAxisLengthCut = xAxisLengthCut;
    }

    @Basic
    @Column(name = "y_axis_length_cut")
    public Double getyAxisLengthCut() {
        return yAxisLengthCut;
    }

    public void setyAxisLengthCut(Double yAxisLengthCut) {
        this.yAxisLengthCut = yAxisLengthCut;
    }

    @Basic
    @Column(name = "rotation_angle")
    public Integer getRotationAngle() {
        return rotationAngle;
    }

    public void setRotationAngle(Integer rotationAngle) {
        this.rotationAngle = rotationAngle;
    }

    @Basic
    @Column(name = "panel_id")
    public String getPanelId() {
        return panelId;
    }

    public void setPanelId(String panelId) {
        this.panelId = panelId;
    }

    @Basic
    @Column(name = "mrr_loc")
    public String getMrrLoc() {
        return mrrLoc;
    }

    public void setMrrLoc(String mrrLoc) {
        this.mrrLoc = mrrLoc;
    }

    @Basic
    @Column(name = "pos_dsc")
    public String getPosDsc() {
        return posDsc;
    }

    public void setPosDsc(String posDsc) {
        this.posDsc = posDsc;
    }

    @Basic
    @Column(name = "evt_cate")
    public String getEvtCate() {
        return evtCate;
    }

    public void setEvtCate(String evtCate) {
        this.evtCate = evtCate;
    }

    @Basic
    @Column(name = "evt_user")
    public String getEvtUser() {
        return evtUser;
    }

    public void setEvtUser(String evtUser) {
        this.evtUser = evtUser;
    }

    @Basic
    @Column(name = "evt_timestamp")
    public Timestamp getEvtTimestamp() {
        return evtTimestamp;
    }

    public void setEvtTimestamp(Timestamp evtTimestamp) {
        this.evtTimestamp = evtTimestamp;
    }

    @Basic
    @Column(name = "evt_note")
    public String getEvtNote() {
        return evtNote;
    }

    public void setEvtNote(String evtNote) {
        this.evtNote = evtNote;
    }

    @Basic
    @Column(name = "valid_flg")
    public String getValidFlg() {
        return validFlg;
    }

    public void setValidFlg(String validFlg) {
        this.validFlg = validFlg;
    }
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        MppLayoutPnlD that = (MppLayoutPnlD) o;
        return panelNo == that.panelNo &&
                Objects.equals(layoutId, that.layoutId) &&
                Objects.equals(unqSeqId, that.unqSeqId) &&
                Objects.equals(etlTimestamp, that.etlTimestamp) &&
                Objects.equals(etlEventNode, that.etlEventNode) &&
                Objects.equals(etlEventName, that.etlEventName) &&
                Objects.equals(etlEvtSeqId, that.etlEvtSeqId) &&
                Objects.equals(parPanelNo, that.parPanelNo) &&
                Objects.equals(layoutDsc, that.layoutDsc) &&
                Objects.equals(layoutCate, that.layoutCate) &&
                Objects.equals(xCoord, that.xCoord) &&
                Objects.equals(yCoord, that.yCoord) &&
                Objects.equals(xAxisLength, that.xAxisLength) &&
                Objects.equals(yAxisLength, that.yAxisLength) &&
                Objects.equals(xCoordCut, that.xCoordCut) &&
                Objects.equals(yCoordCut, that.yCoordCut) &&
                Objects.equals(xAxisLengthCut, that.xAxisLengthCut) &&
                Objects.equals(yAxisLengthCut, that.yAxisLengthCut) &&
                Objects.equals(rotationAngle, that.rotationAngle) &&
                Objects.equals(panelId, that.panelId) &&
                Objects.equals(mrrLoc, that.mrrLoc) &&
                Objects.equals(posDsc, that.posDsc) &&
                Objects.equals(evtCate, that.evtCate) &&
                Objects.equals(evtUser, that.evtUser) &&
                Objects.equals(evtTimestamp, that.evtTimestamp) &&
                Objects.equals(evtNote, that.evtNote);
    }

    @Override
    public int hashCode() {

        return Objects.hash(layoutId, panelNo, unqSeqId, etlTimestamp, etlEventNode, etlEventName, etlEvtSeqId, parPanelNo, layoutDsc, layoutCate, xCoord, yCoord, xAxisLength, yAxisLength, xCoordCut, yCoordCut, xAxisLengthCut, yAxisLengthCut, rotationAngle, panelId, mrrLoc, posDsc, evtCate, evtUser, evtTimestamp, evtNote);
    }
}
